package wait.notify.university.lessons;

public class Store {

	private int seq=-1;
	
	private boolean isPutAvailable=false;//是否允许放置数据
	
	public synchronized int get(){
		while(isPutAvailable){//当可以放数据时，即我不能取数据，只能等
			try {
				wait();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		isPutAvailable=true;
		notify();
		return seq;
	}
	
	/**
	 * 放置数据
	 * 这里未设置容器，可以理解为房间里放置数据
	 * @param seq
	 */
	public synchronized void  put(int seq){
		while(!isPutAvailable){
			try {
				wait();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		isPutAvailable=false;
		this.seq=seq;
		notify();
	}
	
	
	
}
